HyperAgents
论文链接:https://arxiv.org/pdf/2603.19461
代码链接:https://github.com/facebookresearch/Hyperagents
摘要
自我改进型人工智能系统旨在通过学习改进自身的学习和问题解决过程,从而减少对人类工程的依赖。现有的递归式自我改进方法通常依赖于固定的、手工设计的元级机制,这从根本上限制了此类系统的改进速度。达尔文·哥德尔机(Darwin Gödel Machine,DGM)证明,在编码领域可以实现开放式的自我改进。DGM 从单个编码 Agent 出发,反复生成并评估自我修改的变体,从而形成一个不断增长的“阶梯式”改进库,为未来的改进奠定基础。由于评估和自我修改都是编码任务,因此编码能力的提升可以转化为自我改进能力的提升。然而,这种一致性通常不适用于编码领域之外的其他领域。我们引入了 hyperagents,这是一种自引用 Agent,它将任务 Agent(负责解决目标任务)和元 Agent(负责修改自身和任务 Agent)集成到一个可编辑的程序中。至关重要的是,元层面的修改过程本身是可编辑的,从而实现了元认知自我修改,不仅提升了任务解决行为,也改进了产生未来改进的机制。我们通过扩展 DGM 来实例化这一框架,创建了 DGM-Hyperagents(DGM-H)。DGM-H 允许改进过程不断演化,从而消除了任务表现与自我修改技能之间存在领域特定一致性的假设,并有可能支持在任何可计算任务上实现自我加速进步。在不同的领域(编码、论文审阅、机器人奖赏设计以及奥林匹克数学解题评分)中,DGM-H 的性能随时间推移而提升,并且优于没有自我改进或开放式探索的基线系统,以及像 DGM 这样的现有自我改进系统。我们进一步证明,DGM-H 改进了其生成新智能体的过程(例如,持久记忆、性能跟踪),并且这些元层面的改进可以跨领域迁移并在多次运行中累积。所有实验均在采取安全预防措施(例如,沙箱环境、人工监督)的情况下进行。我们将探讨在此环境下安全的具体含义,以及自我改进系统的更广泛意义。DGM-Hyperagents 展示了开放式人工智能系统的雏形,这类系统不仅会寻找更优的解决方案,还会不断改进其寻找更优方案的方法。
1.介绍
在适当的安全考量下,能够自我改进的人工智能系统可以将科学进步从人类主导的过程转变为自主加速的过程,从而使社会能够更早地享受到技术进步带来的益处。这种自我改进的人工智能旨在不断提升自身的学习和任务解决能力。然而,大多数现有的自我改进架构都依赖于一个固定的元智能体(即一个修改基础系统的更高层级系统)。这造成了一种局限性,因为基础系统只能在元智能体设计所定义的范围内进行改进。添加一个元元系统来改进元智能体并不能解决这个问题,它只是将问题向上转移,最终导致元层级的无限循环。为了克服这一局限性,并使系统能够在不受初始实现约束的情况下修改自身的任何部分,系统必须具备自参照性,即能够分析、修改和评估自身。当改进机制本身可以进行改进时,进步就可以实现自我加速,并有可能达到无限的程度。
达尔文·哥德尔机(DGM)证明了在编码中实现开放式自我改进是可行的。在 DGM 中,智能体生成并评估对其自身代码的修改,成功的变体被保存在一个存档中,作为进一步改进的垫脚石。然而,DGM 依赖于一个手工设计的固定机制来生成自我改进指令(附录 B)。该机制分析过去的评估结果和智能体当前的代码库,生成一条指令,指导智能体应该在哪些方面进行自我改进。该机制不可修改。因此,DGM 的自我改进能力受限于这一固定的指令生成步骤。尽管存在这一手工设计的步骤,DGM 的自我改进能力仍然可以提升。由于评估和自我修改都是编码任务,评估性能的提升直接反映了智能体生成有效自我修改的能力。为了提高自我改进能力,DGM 依赖于一个限制性假设:解决评估任务所需的技能与有效进行自我反思和自我修正所需的技能相同。这一假设在编码领域之外不太可能成立,因为在其他领域,任务解决技能可能与分析失败、提出有效的自我改进方案并实施这些方案所需的技能存在显著差异。
本文引入了 hyperagents,这是一种自引用智能体,原则上可以针对任何可计算任务进行自我改进。这里,智能体是任何可计算程序,可以选择性地包含对基础模型(FM)、外部工具或已学习组件的调用。任务智能体负责解决给定的任务。元智能体负责修改现有智能体并生成新的智能体。hyperagent 将任务智能体和元智能体组合成一个单一的自引用、可修改的程序,使得负责生成改进的机制本身也可以被修改。因此,hyperagent 不仅可以改进其解决任务的方式(即任务智能体),还可以改进其生成和应用未来修改的方式(即元智能体)。由于其自我改进机制本身是可修改的,我们称之为元认知自我修改。我们扩展了 DGM 模型,引入了 hyperagent,创建了 DGM-Hyperagents(DGM-H)。 DGM-H 保留了 DGM 的开放式探索结构,并在此基础上扩展了元认知自我修正功能。与 DGM 类似,为了支持持续进步并避免过早收敛,DGM-H 通过从选定的候选方案中分支,构建了一个超智能体库,允许这些候选方案进行自我修正,然后评估生成的超智能体,并将它们重新添加到库中。由于超智能体可以修改其自我修正过程,因此 DGM-H 不受其初始实现的限制,并且有可能针对任何可计算任务进行自我改进。
在我们的实验中,DGM-H 在任务性能和自我改进能力方面均展现出显著且可推广的提升。在 Polyglot 编码基准测试中,DGM-H 的性能提升与目前最成熟的 DGM 自我改进算法相当,尽管它并非专为编码任务而设计。除了编码任务之外,DGM-H 在论文评审和机器人奖赏设计任务中也显著提升了性能,并且这些提升可以迁移到预留的测试任务中,显著优于以往的自我改进算法——除非经过定制,否则这些算法在编码任务之外的表现会受到影响。不进行自我改进或不进行开放式探索的消融实验几乎没有取得任何进展,这凸显了每个组成部分的重要性(第 5.1 节)。至关重要的是,DGM-H 能够学习可迁移的自我改进机制(例如,持久记忆、性能跟踪),从而系统性地提升其生成更优任务或元智能体的能力。因此,DGM-H 学习到的元智能体层面的改进可以跨领域迁移。具体而言,在某一场景(例如,论文审阅和机器人任务)中优化的 hyperagents,在其他领域(例如,奥林匹克数学评分)中仍然能够高效地生成性能更优的任务智能体(第 5.2 节)。我们进一步证明,DGM-H 在某一场景中学习到的自我改进可以与在另一场景中的持续自我改进相叠加(第 5.3 节)。这表明,在合适的任务条件下,DGM-H 有潜力实现无限的、开放式的自我改进。我们在第 6 节中讨论了这种开放式自改进系统的安全隐患,并概述了负责任部署的实际考虑因素。总而言之,hyperagents 为提高自身改进能力的同时提高执行任何可计算任务的能力提供了可能。
2.Related Work
Open-Endedness。开放性指的是系统能够持续创造新的、有趣的、日益复杂的产物,从而拓展自身的发现边界,而无需设定固定的目标或预设的终点。近期研究利用基础模型(FM)作为人类兴趣的 Agent,并将其作为生成和评估跨领域新行为的多功能引擎。基于这些进展,开放式学习和质量多样性算法的最新进展表明,持续探索能够产生多样化且功能日益强大的产物,其应用领域涵盖游戏智能体、科学发现和机器人控制等。最新进展表明,能够持续生成多样化且日益复杂的产物的开放式人工智能系统是可行的。下一步的重要工作是探索此类系统如何实现复合式改进。在人类科学技术进步中,进步往往建立在先前进步的基础上,不仅体现在产生更优质的产物,还体现在改进产生未来发现的工具和流程,从而加速创新。受此启发,我们专注于开放式系统,这些系统不仅能够改进其生成的产物,还能改进产生新颖性和进步的机制。
Self-improving AI。关于自改进人工智能的早期理论研究可以追溯到自修改智能体的形式化模型。一个著名的例子是哥德尔机器(Schmidhuber,2003),它提出智能体在被证明有益时会重写自身,但这种方法在现实世界中仍然不切实际。后续研究探索了通过自适应神经网络系统实现自改进,其中智能体通过元学习、进化或自博弈来修改自身的权重或学习动态,并利用自博弈迭代地改进神经网络智能体,在围棋和国际象棋等领域实现了超越人类的性能,尽管其底层学习算法本身仍然是固定的,并且由人类设计。最近,基础模型(FM)通过迭代改进提示、推理轨迹以及利用自身生成的数据或交互来更新模型权重,实现了自改进。其中,达尔文哥德尔机器(DGM)作为编码领域递归自改进的实用实例而脱颖而出。然而,尽管它们有效,但大多数现有方法(包括 DGM 及其衍生方法)依赖于固定的、手工设计的元级机制(附录 B),这限制了自我改进如何随着时间的推移而累积,以及如何跨领域推广。
Self-referential Meta-learning。自参照元学习研究的是那些能够学习改进自身学习机制的系统。先前的研究已在神经网络和进化方法中探索过这一思想。最近,一些研究利用基于 基础模型(FM)的智能体探索了自参照改进。达尔文·哥德尔机(DGM)及其后续系统通过自我修改实现了递归式自我改进,主要应用于编码领域。然而,这些方法的改进仅限于编码任务内部。在 DGM 及相关系统中,编码智能体的任务是改进自身,改进后的编码智能体随后被用于后续的自我改进步骤,从而生成更优的版本。由于评估任务和自我修改过程都涉及编码,因此改进编码智能体也能增强系统未来进行自我改进的能力。然而,这一特性仅在评估任务和自我修改任务高度一致时才成立。例如,如果评估任务是诗歌创作,那么提高智能体的诗歌创作能力并不一定能提高其修改自身代码的能力。因此,以往的研究依赖于评估任务与自我提升所需技能之间的匹配。相比之下,hyperagents 并不假设这种匹配,因为其自我修正机制完全可修改,且不局限于任何特定的任务领域。因此,hyperagents 可以提升任何可计算任务的任务性能以及自我提升过程本身。
3.Methods

我们引入了超智能体(hyperagents),这是一种自引用智能体,它将任务执行和智能体生成统一到一个可修改的程序中。超智能体不仅可以改进其解决任务的方式,还可以改进其未来改进的方式。为了实现持续累积的进步,我们直接基于达尔文-哥德尔机器(DGM)构建超智能体,形成DGM-Hyperagents(DGM-H)。DGM 提供了一个开放式的、基于种群的探索过程,维护着一个不断改进的智能体档案库,使得成功的变体可以作为未来进步的垫脚石。DGM-H 保留了这种开放式的进化结构,并通过使整个元级修改机制可编辑(图1)对其进行了扩展。通过允许智能体不仅修改其解决任务的方式,还可以修改其自我改进的方式,DGM-H 有可能在任何可计算任务上进行开放式的自我改进。
Agents。本文将智能体定义为任何可计算程序,可选择性地包含对基础模型 (FM)、外部工具或已学习组件的调用。智能体不限于特定的表示形式(例如,神经网络或提示),并且可以包含任意算法逻辑、记忆和控制流。task agent 是为解决一组任务而实例化的智能体。例如,为软件仓库生成代码修改、预测研究论文的接收决定以及为机器人环境设计奖赏函数。任务智能体在给定任务上进行实证评估。meta agent 的唯一任务是修改现有智能体并生成新智能体的智能体。元智能体可以访问所有先前智能体及其评估的完整存档,并提出旨在改进未来性能(包括可能多代之后的性能)的更改。重要的是,这些更改不仅可以针对任务求解逻辑,还可以针对元智能体本身,从而改进生成未来修改的程序。
Hyperagents。超智能体是一种自参照智能体,它将任务智能体和元智能体集成在一个可编辑的程序中,使其不仅能够修改自身执行任务的方式,还能修改自身生成未来改进的方式。与具有固定元的层级系统不同,在超智能体中,元智能体是同一个可编辑程序的一部分,并且可以重写自身。因此,超智能体可以同时改进(1)其解决任务的方式和(2)其生成未来改进的方式。我们使用图灵完备的 Python,由于超智能体可以编辑任何代码,因此它有可能构建任何可计算机器。
Metacognitive self-modification。在超智能体中,智能体的自我改进机制本身也是可以修改的。除了提升其在特定任务上的表现之外,智能体还可以同时修改其提出和应用后续自我改进的流程。我们将这一过程称为元认知自我修改,其中超智能体不仅改进负责解决特定任务的执行智能体,还改进决定后续超智能体如何生成的元智能体。这一特性通过直接改进自我改进过程本身,解决了先前自我改进系统的一个核心局限性(第2节)。第 5.2 节和附录 E.3 中给出了此类元认知自我修改的示例。
Darwin Gödel Machine with Hyperagents。我们在原始 DGM 模型的基础上,引入超智能体,构建了DGM-Hyperagents(DGM-H)。DGM-H 沿用了 DGM 的开放式探索过程,以缓解过早收敛并避免陷入局部最优解。该过程维护着一个已生成超智能体的存档,初始状态为单个超智能体,并随着时间的推移不断累积生成的变体进行扩展。该过程在两个阶段之间交替进行:元认知自我修改和评估。在元认知自我修改阶段,从存档中选取父级超智能体生成自身的修改版本。父级超智能体的选择是概率性的,与超智能体的性能成正比,与成功编译的子级数量成反比,从而使采样倾向于那些性能良好且能生成强大后代的超智能体,同时保持探索能力(附录A.2)。在评估阶段,每个修改后的超智能体都会经过实证评估,随后被添加到存档中。原则上,完全自引用算法应允许对其自身所有部分(包括父节点选择和评估机制)进行修改。虽然我们在附录 E.5 中展示了探索自动改进父节点选择机制可能性的初步结果,但正文中的实验使用的是手工设计的、不可修改的父节点选择机制,以便隔离超智能体自我修改的影响。总体而言,DGM-H 由两个相互作用的组件构成:(1)继承自 DGM 的开放式探索过程;(2)初始超智能体,它通过自我生成的变体随时间演化(图 1,附录 A)。通过扩展 DGM 使其元机制本身可修改,DGM-H 将递归自我改进推广到编码之外,并使任何可计算任务都能实现自引用改进。
4.Experiment Setup
DGM-H 初始化时使用一个围绕冻结的 FM 构建的超级智能体,该 FM 具备使用外部工具的能力。FM 会在每个步骤中根据需要自主调用工具。初始超级智能体配备了两个工具:一个用于执行 shell 命令的 bash 工具,以及一个用于检查和修改文件的专用工具。在初始超级智能体中,任务 Agent 接收任务输入,并输出来自单个 FM 调用的响应。元 Agent 接收 Agent 代码库的位置、先前评估结果的位置以及剩余实验迭代次数(实验预算是一个超参数),并负责修改给定代码库的任何部分(附录 A.1)。我们特意保持初始超级智能体理(即任务 Agent 和元 Agent)的实现简洁,从而扩大搜索空间,避免过早地限制可能的改进范围。附录 D.1 详细说明了每个实验中使用的 FM 和超参数,而附录 D.2 报告了相应的成本估算。